package mkpsolving;

/**
 * User: Nacer
 * Date: 18/03/14
 * Time: 10:19
 */
//Cette représente un objet avec son id, son poids et son utilité
// la classe implemente Comparable afin de pouvoir trier efficacement une Collection
public class Objet implements Comparable {
    private static int nbid=1;
    private int id;
    private double poids;
    private double util;

    public Objet(double poids, double util) {
        id = nbid;
        this.poids = poids;
        this.util = util;
        nbid++;
    }

    public double getpoids() {
        return poids;
    }

    public double getUtil() {
        return util;
    }

    public double getRapportPU() {
        return (util / poids);
    }

    //On trie les objets par le rapport poids sur utilité
    @Override
    public int compareTo(Object o) {
        Objet objet = (Objet) o;
        if (getRapportPU() > objet.getRapportPU()) {
            return -1;
        } else if (getRapportPU() == objet.getRapportPU()) {
            return 0;
        }
        return 1;
    }

    @Override
    public String toString() {
        return "Objet " + id +
                " de poids " + poids +
                " et d'utilité " + util;
    }
}

